package com.ruoyi.project.NH.income.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.Objects;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.framework.web.domain.BaseEntity;

/**
 * 农户收入信息对象 busi_income_data
 * 
 * @author 狗熊岭
 * @date 2023-08-03
 */
public class BusiIncomeData extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 收入数据表id */
    private Integer id;

    /** 户编号 */
    private String fid;

    /** 行政村 */
    @Excel(name = "行政村")
    private Integer admVillage;

    /** 自然村 */
    @Excel(name = "自然村")
    private Integer natVillage;

    /** 户主姓名 */
    @Excel(name = "户主姓名")
    private String name;

    /** 户联系电话 */
    @Excel(name = "户联系电话")
    private String phone;

    /** 人口数 */
    @Excel(name = "人口数")
    private Integer num;

    /** 耕种面积 */
    @Excel(name = "耕种面积")
    private BigDecimal area;

    /** 户类别 */
    @Excel(name = "户类别")
    private Integer familyType;

    /** 户状态(0-有人 1-绝户) */
    @Excel(name = "户状态(0-有人 1-绝户)")
    private Integer state;

    /** 身份证号 */
    @Excel(name = "身份证号")
    private String idCard;

    /** 所属年份 */
    @Excel(name = "所属年份")
    private Integer reportYear;


    /** 生产经营性收入 */
    @Excel(name = "生产经营性收入")
    private BigDecimal opIncome;

    /** 财产性收入 */
    @Excel(name = "财产性收入")
    private BigDecimal propertyIncome;

    /** 工资性收入 */
    @Excel(name = "工资性收入")
    private BigDecimal salaryIncome;

    /** 转移性收入 */
    @Excel(name = "转移性收入")
    private BigDecimal transferIncome;
    /** 封停状态 */
    @Excel(name = "封停状态")
    private Integer sealState;

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getFid() {
        return fid;
    }

    public void setFid(String fid) {
        this.fid = fid;
    }

    public Integer getAdmVillage() {
        return admVillage;
    }

    public void setAdmVillage(Integer admVillage) {
        this.admVillage = admVillage;
    }

    public Integer getNatVillage() {
        return natVillage;
    }

    public void setNatVillage(Integer natVillage) {
        this.natVillage = natVillage;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public Integer getNum() {
        return num;
    }

    public void setNum(Integer num) {
        this.num = num;
    }

    public BigDecimal getArea() {
        return area;
    }

    public void setArea(BigDecimal area) {
        this.area = area;
    }

    public Integer getFamilyType() {
        return familyType;
    }

    public void setFamilyType(Integer familyType) {
        this.familyType = familyType;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public String getIdCard() {
        return idCard;
    }

    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }

    public Integer getReportYear() {
        return reportYear;
    }

    public void setReportYear(Integer reportYear) {
        this.reportYear = reportYear;
    }

    public BigDecimal getOpIncome() {
        return opIncome;
    }

    public void setOpIncome(BigDecimal opIncome) {
        this.opIncome = opIncome;
    }

    public BigDecimal getPropertyIncome() {
        return propertyIncome;
    }

    public void setPropertyIncome(BigDecimal propertyIncome) {
        this.propertyIncome = propertyIncome;
    }

    public BigDecimal getSalaryIncome() {
        return salaryIncome;
    }

    public void setSalaryIncome(BigDecimal salaryIncome) {
        this.salaryIncome = salaryIncome;
    }

    public BigDecimal getTransferIncome() {
        return transferIncome;
    }

    public void setTransferIncome(BigDecimal transferIncome) {
        this.transferIncome = transferIncome;
    }

    public Integer getSealState() {
        return sealState;
    }

    public void setSealState(Integer sealState) {
        this.sealState = sealState;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        BusiIncomeData that = (BusiIncomeData) o;
        return Objects.equals(id, that.id) &&
                Objects.equals(fid, that.fid) &&
                Objects.equals(admVillage, that.admVillage) &&
                Objects.equals(natVillage, that.natVillage) &&
                Objects.equals(name, that.name) &&
                Objects.equals(phone, that.phone) &&
                Objects.equals(num, that.num) &&
                Objects.equals(area, that.area) &&
                Objects.equals(familyType, that.familyType) &&
                Objects.equals(state, that.state) &&
                Objects.equals(idCard, that.idCard) &&
                Objects.equals(reportYear, that.reportYear) &&
                Objects.equals(opIncome, that.opIncome) &&
                Objects.equals(propertyIncome, that.propertyIncome) &&
                Objects.equals(salaryIncome, that.salaryIncome) &&
                Objects.equals(transferIncome, that.transferIncome) &&
                Objects.equals(sealState, that.sealState);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, fid, admVillage, natVillage, name, phone, num, area, familyType, state, idCard, reportYear, opIncome, propertyIncome, salaryIncome, transferIncome, sealState);
    }

    @Override
    public String toString() {
        return "BusiIncomeData{" +
                "id=" + id +
                ", fid='" + fid + '\'' +
                ", admVillage=" + admVillage +
                ", natVillage=" + natVillage +
                ", name='" + name + '\'' +
                ", phone='" + phone + '\'' +
                ", num=" + num +
                ", area=" + area +
                ", familyType=" + familyType +
                ", state=" + state +
                ", idCard='" + idCard + '\'' +
                ", reportYear=" + reportYear +
                ", opIncome=" + opIncome +
                ", propertyIncome=" + propertyIncome +
                ", salaryIncome=" + salaryIncome +
                ", transferIncome=" + transferIncome +
                ", sealState=" + sealState +
                '}';
    }
}
